function createFnArray() {
  // fill 方法表示给数组做一个填充
  var arr = new Array(1024 * 1024).fill(1)
  // 占据多大的内存空间? 
  // 整数:4个字节 4*1024*1024 = 4mb 

  return function () {
    console.log(arr.length)
  }
}

// var arrayFn = createFnArray()
// arrayFn()

var arrayFns = []
for (var i = 0; i < 100; i++) {
  // 占据400M + 内存空间
  setTimeout(() => {
    arrayFns.push(createFnArray()) // 每次调用的时候 createFnArray都会有一个单独属于自己的AO
  }, 100 * i);
}


setTimeout(() => {
  for (var i = 0; i < 50; i++) {
    setTimeout(() => {
      arrayFns.pop()
    }, 100 * i);
  }
}, 10000);